Search engines are known in the art. However, these search engines lack significant features resulting in “hit-and-miss” results to the user. For example, a search for “Columbia Outerwear” can result in the user being presented with results for Columbia, South America or Columbia, S.C. Further, traditional search engines are a “one-and-done” methodology so that once the search is performed, additional results require an additional search. When the additional search is performed, the results from the first search are lost and therefore not integrated with the results from a second search.
The conventional method for producing stable object hierarchies from disparate sources is to craft three independent processes. The first, often called the “spider”, crawls, or retrieves, large numbers of possible object sources, often in batch storing states for each source in aggregate. A second process is then initiated which summarizes the states of each source, storing an object state summary. Finally, a user-facing process is provided which allows a person to retrieve the object state summary based on identifiers preselected by the process. This method is inadequate for situations when sources cannot or should not be summarized or aggregated in the past. The architecture of the process is itself flawed, as sources which cannot be summarized in the past, for current retrieval, cannot then be retrieved, as the summary process is dependent on a large collection of objects to compare against when building a hierarchy.
Therefore, it is an object of the current invention to provide for a system that performs a real time on-demand, as well as batch based searching for goods or services with specific search criteria, and returns a set of search results that are deduped and can be updated when modifications to the search results occur.